[gd_resource type="ShaderMaterial" load_steps=12 format=2]

[sub_resource type="VisualShaderNodeInput" id=1]
input_name = "time"

[sub_resource type="VisualShaderNodeColorParameter" id=2]
output_port_for_preview = 0
uniform_name = "laser_color"

[sub_resource type="VisualShaderNodeTexture" id=3]

[sub_resource type="FastNoiseLite" id=4]

[sub_resource type="NoiseTexture" id=5]
width = 64
height = 64
seamless = true
noise = SubResource( 4 )

[sub_resource type="VisualShaderNodeTexture" id=6]
texture = SubResource( 5 )

[sub_resource type="VisualShaderNodeVectorOp" id=7]
output_port_for_preview = 0
operator = 2

[sub_resource type="VisualShaderNodeInput" id=8]
input_name = "uv"

[sub_resource type="VisualShaderNodeVectorOp" id=9]
output_port_for_preview = 0
operator = 1

[sub_resource type="VisualShaderNodeVectorCompose" id=10]

[sub_resource type="VisualShader" id=11]
code = "shader_type spatial;
render_mode cull_disabled, specular_schlick_ggx, unshaded, shadows_disabled;

uniform vec4 laser_color : source_color;
uniform sampler2D tex_frg_4;
uniform sampler2D tex_frg_5;



void vertex() {
// Output:0

}

void fragment() {
// ColorUniform:2
	vec3 n_out2p0 = laser_color.rgb;
	float n_out2p1 = laser_color.a;

// Texture:4
	vec4 tex_frg_4_read = texture(tex_frg_4, UV.xy);
	vec3 n_out4p0 = tex_frg_4_read.rgb;
	float n_out4p1 = tex_frg_4_read.a;

// Input:7
	vec3 n_out7p0 = vec3(UV, 0.0);

// Input:10
	float n_out10p0 = TIME;

// VectorCompose:9
	float n_in9p1 = 0.00000;
	float n_in9p2 = 0.00000;
	vec3 n_out9p0 = vec3(n_out10p0, n_in9p1, n_in9p2);

// VectorOp:8
	vec3 n_out8p0 = n_out7p0 - n_out9p0;

// Texture:5
	vec4 tex_frg_5_read = texture(tex_frg_5, n_out8p0.xy);
	vec3 n_out5p0 = tex_frg_5_read.rgb;
	float n_out5p1 = tex_frg_5_read.a;

// VectorOp:6
	vec3 n_out6p0 = n_out4p0 * n_out5p0;

// Output:0
	ALBEDO = n_out2p0;
	ALPHA = dot(n_out6p0, vec3(0.333333, 0.333333, 0.333333));
	EMISSION = n_out2p0;

}

void light() {
// Output:0

}
"
graph_offset = Vector2( 0, 150 )
modes/cull = 2
flags/shadows_disabled = true
flags/unshaded = true
nodes/fragment/0/position = Vector2( 1100, 0 )
nodes/fragment/2/node = SubResource( 2 )
nodes/fragment/2/position = Vector2( 680, 240 )
nodes/fragment/4/node = SubResource( 3 )
nodes/fragment/4/position = Vector2( 420, -60 )
nodes/fragment/5/node = SubResource( 6 )
nodes/fragment/5/position = Vector2( 460, 180 )
nodes/fragment/6/node = SubResource( 7 )
nodes/fragment/6/position = Vector2( 700, -20 )
nodes/fragment/7/node = SubResource( 8 )
nodes/fragment/7/position = Vector2( 60, 120 )
nodes/fragment/8/node = SubResource( 9 )
nodes/fragment/8/position = Vector2( 240, 100 )
nodes/fragment/9/node = SubResource( 10 )
nodes/fragment/9/position = Vector2( 60, 200 )
nodes/fragment/10/node = SubResource( 1 )
nodes/fragment/10/position = Vector2( 40, 360 )
nodes/fragment/connections = PackedInt32Array( 4, 0, 6, 0, 5, 0, 6, 1, 2, 0, 0, 5, 2, 0, 0, 0, 6, 0, 0, 1, 7, 0, 8, 0, 8, 0, 5, 0, 9, 0, 8, 1, 10, 0, 9, 0 )

[resource]
shader = SubResource( 11 )
shader_param/laser_color = null
